By way of background, in today's world, mobile equipment, such as laptop computers, cellular phones, personal handheld computers (also know as PDAs) and the likes, are used by everyone to conduct personal and work related business. The employees of a company are able to access the full resources of their employer while traveling or working from home. Cellular phones are enabling everyone to stay in touch with work and friends and family while in move. This capability has become increasingly important in today's personal and business life. Different networks are used by each of the above mentioned mobile equipment to connect to its destination. For example, cellular phone users may use the network of their cellular service providers when they are operating at their home service location, also know as the home network, or the network of the same provider or another cellular service provider at a different service location, also known as the foreign network, while out of their home network. An employee of a company connects to the resources of the company and other company employees using the Intranet of the company (i.e., home network) or other networks (i.e., foreign networks) while outside of the coverage of the company Intranet.
Referring to FIG. 1, a conceptual representation of a typical network 10 is shown. Network 10 includes home agents 121 and 122 (collectively referred to as home agents 12) and nodes 14-18. It should be noted that although only two home agents are shown in FIG. 1, the network of FIG. 1 may include more or less than two home agents. It should also be noted that network 10 may include additional components that are not shown in FIG. 1 for simplicity. Also, although three nodes 14-18 are shown in FIG. 1, network 10 may have more than three nodes. In network 10, nodes 14-18 communicate with each other and home agents 12 through network connection 20. Network connection 20 includes wired and wireless networks, Ethernet-type networks, intranets, extranets, the Internet, and/or telephony networks, among other types of networks. In addition to communicating with each other, each of nodes 14-18 could also communicate with nodes in other networks that are connected to network 10.
Each of nodes 14-18 could be permanently attached to network 10 or may be a mobile node. A mobile node may communicate with other nodes within network 10 or other networks while operating in network 10 or while operating in another network as a guest node. When nodes 14-18 are operating in network 10, they are operating within their home network. When they are operating in networks other than network 10, they are operating in a foreign network as a guest. In FIG. 1, node 14 is designated as the mobile node for the purpose of describing the present invention. Although node 14 is designated as the mobile node in network, nodes 16 and 18 could also be mobile nodes.
When mobile node 14 is operating in network 10, it obtains an Internet Protocol (IP) address (hereinafter referred to as the “home address”). There are different mechanisms by which mobile node 14 obtains a home address. These mechanisms are known to those knowledgeable in the art and, thus, will not be discussed any further herein. The home address is used by home agents 12, nodes 16 and 18, and nodes and home agents (not shown) belonging to networks other than network 10 to communicate with node 14.
Each time that the mobile node 14 leaves its home network 10 and enters a foreign network or each time that node 14 leave a foreign network and enters another foreign network, the mobile node 14 obtains a new IP address, which is also referred to as the care-of address. While mobile node 14 operates within the foreign network, the mobile node 14 communicates with the correspondent nodes. The correspondent nodes include home agents and correspondent nodes. The correspondent nodes are those nodes other than the home agents that either establish one or more communication sessions with mobile node 14 or that mobile node 14 establishes one or more communication sessions with them. While the mobile node 14 is in a foreign network, the correspondent nodes communicate with the mobile node in one of at least two ways. First, the correspondent nodes may send messages to the mobile node 14 using the home address. In this situation, the home agent 12 that services the mobile node 14 (“the servicing home agent 12”) would then tunnel the message to the mobile node 14 at its foreign network location. In order, for the servicing home agent 12 to be able to tunnel the message to the mobile node 14, it needs to know the care-of address of the mobile node 14. Alternatively, the correspondent nodes may communicate with the mobile node 14 directly using the care-of address that mobile node 14 obtains upon entering the foreign network. The process of informing the home agents 12 by mobile node 14 of its new care-of address is also referred to as home registration.
Referring to FIG. 1, the home registration begins with mobile node 14 sending its binding information using a Binding Update packet (“BU”) to a home agent on the list of home agents that are capable to service mobile node 14 while it is operating in the foreign network. The mobile node 14 either has the list of the home agents that can support it in its memory before it moves to the foreign network, or the mobile node 143 obtains the list of home agents after entering the foreign network. If the mobile node needs to obtain the list of the home agents after it enters the foreign network, it sends an inquiry message to obtain the list of the home agents 12. One example of such inquiry message is a Dynamic Home Agent Address Discovery (“DHAAD”) message that follows the protocol set forth in the Mobile IPV6 standard. Hereinafter, the present invention will be described using a DHAAD message as the inquiry message. However, it is clear to one knowledgeable in the art that any other suitable message may be used by the mobile node to determine which home agents can support it while it is operating in a foreign network.
Upon receiving the DHAAD message by the home agents 12, one of the home agents 12 responds to the mobile node by sending the mobile node a DHAAD reply message according to the protocol set forth by the Mobile IPV6 standard. The DHAAD reply message includes a list of all home agents 12 that can support the mobile node while it is operating in the foreign network. In exemplary network of FIG. 1, home agent 122 sends the DHAAD reply message listing home agent 121 and 122 as the eligible home agents to provide support to mobile node 14. Once the mobile node 14 receives the DHAAD reply message, it saves the list in its local memory and, in accordance with the Mobile IPV6 standard and as mentioned above, sends its binding information using a BU packet to the home agent 121, which is the first home agent on the list. In accordance with this standard, mobile node 14 waits for a certain period of time to receive an acknowledgement from home agent 121 and if it does not receive such acknowledgement, it retransmits the BU message to home agent 121.
Referring to FIG. 2, timeline 40 provides the time intervals that the BU message must be retransmitted to home agent 121 if the mobile node 14 does not receive an acknowledgement from it. If home agent 121 is off-line, meaning that it is not connected to the network for any reason (such as being down), it will not respond to the transmission of the BU by mobile node 14. However, in accordance to Mobile IPV6 standard, if mobile node does not receive a response from home agent 121 within 1.5 seconds, it must retransmit its BU message to home agent 121 (time T1(1)). Thereafter, if mobile node 14 does not receive a response from home agent 121, within 3 seconds (twice as much as the previous waiting period), it must retransmit its BU message to home agent 121 (time T1(2)). This process continues until mobile node 14 retransmits its BU message to home agent 121 at time T5(1), the last BU message, and still does not receive a reply message from home agent 121 within 32 seconds. If the mobile node 14 does not receive an acknowledgement message from home agent 121, in response to any of the BU messages that were sent to home agent 121 in accordance with the IPV6 standard, it repeats the above process for the next home agent on its list. Hence the total wait time according to the IPV6 standard before a registration attempt to a home agent is deemed failed is 78.5 second (1.5+3+6+12+24+32). In the exemplary network of FIG. 1, the next home agent on the list is home agent 122. The mobile node begins the process of sending its BU message according to timeline 42.
As shown on timeline 42, the first transmission of BU to home agent 122 will occur at time T0(2), which is at least 78.5 seconds (1.5+3+6+12+24+32) after the first transmission to home agent 121. In another words, in the situation explained above, mobile node 14 must wait for a total of at least 78.5 seconds (1.5+3+6+12+24+32) before it concludes that home agent 121 is off-line or will not respond to it for any reason and to try the next home agent on the list. This happens each time that a home agent on the list fails to respond to mobile node 14. In another words, each time that a home agent fails to respond to mobile node 14, mobile node 14 must wait for 78.5 seconds before it sends its BU message to the next home agent on the list. In situations where more than one home agent on the list fail to respond to mobile node 14, the wait period increases by multiples of 78.5 seconds in accordance with the number of consecutive home agents that fail to respond to mobile node 14. This is not an acceptable situation.
For the reasons stated above, there is a need for a solution that minimizes the wait time for a mobile node while it is trying to register its care-of-address with its home network.